"""
演示数据容器的通用功能
"""



my_list = [1,2,3,4,5]
my_tuple = (1,2,3,4,5)
my_str = "abcdefg"
my_set = {1,2,3,4,5}
my_dict = {"key1":1,"key2":2,"key3":3,"key4":4,"key5":5}

#len元素的个数
print(f"列表 的元素个数有: {len(my_list)}")
print(f"元组 元素个数有: {len(my_tuple)}")
print(f"字符串 元素个数有: {len(my_str)}")
print(f"集合 元素个数有: {len(my_set)}")
print(f"字典 元素个数有: {len(my_dict)}")

#max()最大的元素
print(f"列表 元素的最大值: {max(my_list)}")
print(f"元组 元素的最大值:  {max(my_tuple)}")
print(f"字符串元素的最大值: {max(my_str)}")
print(f"集合 元素的最大值:  {max(my_set)}")
print(f"字典 元素的最大值:  {max(my_dict)}")

#min()最小的元素
print(f"列表 元素的最小值:  {min(my_list)}")
print(f"元组 元素的最小值:  {min(my_tuple)}")
print(f"字符串元素的最小值:  {min(my_str)}")
print(f"集合 元素的最小值:  {min(my_set)}")
print(f"字典 元素的最小值:  {min(my_dict)}")
#类型转换: 容器转换列表
print(f"列表 容器转列表的结果:  {list(my_list)}")
print(f"元组 容器转列表的结果:  {list(my_tuple)}")
print(f"字符串容器转列表的结果:  {list(my_str)}")
print(f"集合 容器转列表的结果:  {list(my_set)}")
print(f"字典 容器转列表的结果:  {list(my_dict)}")
#类型转换: 容器转换元组
print(f"列表 容器转元组的结果:  {tuple(my_list)}")
print(f"元组 容器转元组的结果:  {tuple(my_tuple)}")
print(f"字符串容器转元组的结果:  {tuple(my_str)}")
print(f"集合 容器转元组的结果:  {tuple(my_set)}")
print(f"字典 容器转元组的结果:  {tuple(my_dict)}")
#类型转换: 容器转换字符串    [1, 2, 3, 4, 5] >> "[1, 2, 3, 4, 5]"
print(f"列表 容器转字符串的结果:  {str(my_list)}")
print(f"元组 容器转字符串的结果:  {str(my_tuple)}")
print(f"字符串容器转字符串的结果:  {str(my_str)}")
print(f"集合 容器转字符串的结果:  {str(my_set)}")
print(f"字典 容器转字符串的结果:  {str(my_dict)}")

#类型转换: 容器转换集合
print(f"列表 容器转集合的结果:  {set(my_list)}")
print(f"元组 容器转集合的结果:  {set(my_tuple)}")
print(f"字符串容器转集合的结果:  {set(my_str)}")
print(f"集合 容器转集合的结果:  {set(my_set)}")
print(f"字典 容器转集合的结果:  {set(my_dict)}")

#对容器进行排序
my_list = [2,3,1,4,5]
my_tuple = (1,3,2,4,5)
my_str = "abedcfg"
my_set = {1,2,5,3,4}
my_dict = {"key1":2,"key2":1,"key3":3,"key4":4,"key5":5}

print(f"列表对象的排序结果:  {sorted(my_list,reverse=True)}")
print(f"元组对象的排序结果:  {sorted(my_tuple,reverse=True)}")
print(f"字符串对象的排序结果:  {sorted(my_str,reverse=True)}")
print(f"集合对象的排序结果:  {sorted(my_set,reverse=True)}")
print(f"字典对象的排序结果:  {sorted(my_dict,reverse=True)}")
